package com.dragon.modules.yuegou.entity.park;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 停车统计汇总表实体类<br>
 * 对应的表为：park_statistics_total<br>
 *
 * @author pbuilder generated
 * @date 2020-03-20 15:40:26
 * @company sgy
 * @version 2.0
 */
@TableName("park_statistics_total")
@ApiModel(description = "停车统计汇总表")
public class StatisticsTotalEntity {

	/** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

	/** 商户id */
	@ApiModelProperty("商户id")
	protected String merchantId;

	/** 停车场名称 */
	@ApiModelProperty("停车场名称")
	protected String parkingName;

	/** 停车场ID */
	@ApiModelProperty("停车场ID")
	protected String parkingId;

	/** 计算开始时间 */
	@ApiModelProperty("计算开始时间")
	protected LocalDateTime beginTime;

	/** 计算终止时间 */
	@ApiModelProperty("计算终止时间")
	protected LocalDateTime endTime;

	/** 本时间段结束后还占车位数量 */
	@ApiModelProperty("本时间段结束后还占车位数量")
	protected Integer occupyNumber;

	/** 时间段内停车总数量 */
	@ApiModelProperty("时间段内停车总数量")
	protected Integer totalNumber;

	/** 时间段内超出免费数量 */
	@ApiModelProperty("时间段内超出免费数量")
	protected Integer chargeNumber;

	/** 时间段内超出时长(以秒为单位计算) */
	@ApiModelProperty("时间段内超出时长(以秒为单位计算)")
	protected Long stayedTimeTotal;

	/** 时间内总计费用 */
	@ApiModelProperty("时间内总计费用")
	protected BigDecimal fee;

	/** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

	/**
	 * 构造一个空停车统计汇总表实体对象
	 */
	public StatisticsTotalEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个停车统计汇总表实体对象
	 *
	 * @param other 其它对象
	 */
	public StatisticsTotalEntity(StatisticsTotalEntity other){
		super();
		this.busdId = other.busdId;
		this.merchantId = other.merchantId;
		this.parkingName = other.parkingName;
		this.parkingId = other.parkingId;
		this.beginTime = other.beginTime;
		this.endTime = other.endTime;
		this.occupyNumber = other.occupyNumber;
		this.totalNumber = other.totalNumber;
		this.chargeNumber = other.chargeNumber;
		this.stayedTimeTotal = other.stayedTimeTotal;
		this.fee = other.fee;
		this.createdTime = other.createdTime;
	}


	/**
	 * 获取商圈ID
	 *
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}

	/**
	 * 设置商圈ID
	 *
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取商户id
	 *
	 * @return merchantId 商户id
	 */
	public String getMerchantId() {
		return merchantId;
	}

	/**
	 * 设置商户id
	 *
	 * @param merchantId 商户id
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取停车场名称
	 *
	 * @return parkingName 停车场名称
	 */
	public String getParkingName() {
		return parkingName;
	}

	/**
	 * 设置停车场名称
	 *
	 * @param parkingName 停车场名称
	 */
	public void setParkingName(String parkingName) {
		this.parkingName = parkingName;
	}

	/**
	 * 获取停车场ID
	 *
	 * @return parkingId 停车场ID
	 */
	public String getParkingId() {
		return parkingId;
	}

	/**
	 * 设置停车场ID
	 *
	 * @param parkingId 停车场ID
	 */
	public void setParkingId(String parkingId) {
		this.parkingId = parkingId;
	}

	/**
	 * 获取计算开始时间
	 *
	 * @return beginTime 计算开始时间
	 */
	public LocalDateTime getBeginTime() {
		return beginTime;
	}

	/**
	 * 设置计算开始时间
	 *
	 * @param beginTime 计算开始时间
	 */
	public void setBeginTime(LocalDateTime beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * 获取计算终止时间
	 *
	 * @return endTime 计算终止时间
	 */
	public LocalDateTime getEndTime() {
		return endTime;
	}

	/**
	 * 设置计算终止时间
	 *
	 * @param endTime 计算终止时间
	 */
	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取本时间段结束后还占车位数量
	 *
	 * @return occupyNumber 本时间段结束后还占车位数量
	 */
	public Integer getOccupyNumber() {
		return occupyNumber;
	}

	/**
	 * 设置本时间段结束后还占车位数量
	 *
	 * @param occupyNumber 本时间段结束后还占车位数量
	 */
	public void setOccupyNumber(Integer occupyNumber) {
		this.occupyNumber = occupyNumber;
	}

	/**
	 * 获取时间段内停车总数量
	 *
	 * @return totalNumber 时间段内停车总数量
	 */
	public Integer getTotalNumber() {
		return totalNumber;
	}

	/**
	 * 设置时间段内停车总数量
	 *
	 * @param totalNumber 时间段内停车总数量
	 */
	public void setTotalNumber(Integer totalNumber) {
		this.totalNumber = totalNumber;
	}

	/**
	 * 获取时间段内超出免费数量
	 *
	 * @return chargeNumber 时间段内超出免费数量
	 */
	public Integer getChargeNumber() {
		return chargeNumber;
	}

	/**
	 * 设置时间段内超出免费数量
	 *
	 * @param chargeNumber 时间段内超出免费数量
	 */
	public void setChargeNumber(Integer chargeNumber) {
		this.chargeNumber = chargeNumber;
	}

	/**
	 * 获取时间段内超出时长(以秒为单位计算)
	 *
	 * @return stayedTimeTotal 时间段内超出时长(以秒为单位计算)
	 */
	public Long getStayedTimeTotal() {
		return stayedTimeTotal;
	}

	/**
	 * 设置时间段内超出时长(以秒为单位计算)
	 *
	 * @param stayedTimeTotal 时间段内超出时长(以秒为单位计算)
	 */
	public void setStayedTimeTotal(Long stayedTimeTotal) {
		this.stayedTimeTotal = stayedTimeTotal;
	}

	/**
	 * 获取时间内总计费用
	 *
	 * @return fee 时间内总计费用
	 */
	public BigDecimal getFee() {
		return fee;
	}

	/**
	 * 设置时间内总计费用
	 *
	 * @param fee 时间内总计费用
	 */
	public void setFee(BigDecimal fee) {
		this.fee = fee;
	}

	/**
	 * 获取创建时间
	 *
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	public String toString() {
		return new StringBuilder().append("StatisticsTotalEntity{").
				append("busdId=").append(busdId).
				append(",merchantId=").append(merchantId).
				append(",parkingName=").append(parkingName).
				append(",parkingId=").append(parkingId).
				append(",beginTime=").append(beginTime).
				append(",endTime=").append(endTime).
				append(",occupyNumber=").append(occupyNumber).
				append(",totalNumber=").append(totalNumber).
				append(",chargeNumber=").append(chargeNumber).
				append(",stayedTimeTotal=").append(stayedTimeTotal).
				append(",fee=").append(fee).
				append(",createdTime=").append(createdTime).
				append('}').toString();
	}

	/**
	 * 复制对象
	 *
	 * @return 复制后的新实体对象
	 */
	public StatisticsTotalEntity copy() {
		return new StatisticsTotalEntity(this);
	}

	/** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

	/** 商户id */
	public static final String COL_MERCHANT_ID = "merchant_id";

	/** 停车场名称 */
	public static final String COL_PARKING_NAME = "parking_name";

	/** 停车场ID */
	public static final String COL_PARKING_ID = "parking_id";

	/** 计算开始时间 */
	public static final String COL_BEGIN_TIME = "begin_time";

	/** 计算终止时间 */
	public static final String COL_END_TIME = "end_time";

	/** 本时间段结束后还占车位数量 */
	public static final String COL_OCCUPY_NUMBER = "occupy_number";

	/** 时间段内停车总数量 */
	public static final String COL_TOTAL_NUMBER = "total_number";

	/** 时间段内超出免费数量 */
	public static final String COL_CHARGE_NUMBER = "charge_number";

	/** 时间段内超出时长(以秒为单位计算) */
	public static final String COL_STAYED_TIME_TOTAL = "stayed_time_total";

	/** 时间内总计费用 */
	public static final String COL_FEE = "fee";

	/** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";
}
